import Vue from 'vue';
import VueRouter from 'vue-router';
import routes from "./routes"
Vue.use(VueRouter)
// 从写push/replace方法
const routerPush=VueRouter.prototype.push
const routerReplace=VueRouter.prototype.replace
// 重写push方法
VueRouter.prototype.push=function(location,onResolve,onReject){
    if(onResolve || onReject) return
    routerPush.call(this,location,onResolve,onReject)
    return routerPush.call(this,location).catch(error =>error)
}
// 重写replace方法
VueRouter.prototype.routerReplace=function(location,onResolve,onReject){
    if(onResolve || onReject) return
    routerReplace.call(this,location,onResolve,onReject)
    return routerReplace.call(this,location).catch(error =>error)
}
 const router=new VueRouter({
     mode:"history",
    routes,
    // 设置滚动行为
    scrollBehavior (to, from, savedPosition) {
        // 对于所有路由导航，简单地让页面滚动到顶部。
        // return { x: 0, y: 0 }
        // 在按下 后退/前进 按钮时, 页面滚动停留在离开时的位置
        if (savedPosition) {
          return savedPosition  // 返回前面离开时保存的位置坐标对象
        } else { // 否则直接滚动到顶部
          return { x: 0, y: 0 }
        }
      }
})
// 路由导航守卫
// ===============


// ===============


export default router